package com.ny.mapper;

import com.ny.entity.Users;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

//@Mapper
public interface UserMapper {
//     一个功能：登录，一个方法：登录 一条sql语句：select * from users where username = ? and password = ?
// 返回值类型：就看sql语句的执行结果是什么类型：Users .
//    参数：就看条件或者问号。一个问号那就是变量，如果是多个问号，我们就是用对象进行传递。多少个问号就是用多少个参数，如果是多个参数就改为对象

        Users findUserByUsernameAndPassword(@Param("username") String username, @Param("password") String password);
        //注册信息语句
        @Insert("insert into user values(#{userId},#{username},#{password},#{phoneNumber},#{role}")
        int allUserName(Users users);
        //根据id查询语句
        @Select("SELECT * FROM users WHERE userId = #{userId}")
        Users getUserById(int userId);
        //
        @Insert("UPDATE users SET phone_number = #{phone_number} WHERE userId = #{userId}")
        int updatePhoneNumber(Users user);
        @Insert("UPDATE users SET password = #{password} WHERE userId = #{userId}")
        int updatePassword(Users user);
        Users getCenterUserById(int userId);
        int updateCenterUserPhoneNumber(@Param("userId") Integer userId, @Param("phoneNumber") String phoneNumber);
        int updateCenterUserPassword(@Param("userId") Integer userId, @Param("newPassword") String newPassword);


}
